//1.创建一个login登录的控制器
var loginApp = angular.module('loginApp',[]);
loginApp.controller('loginController',function ($scope,$http) {
    //数据
    $scope.formData ={};
    //发送的方法
    $scope.postForm = function () {
        //formData添加一个属性，action代表的就是这个请求的行为
        //$.param把数据连接成字符串
        $scope.formData.action ='login';
        $http({
            method:"POST",
            url:"get.php",
            data:$.param($scope.formData),
            headers:{'Content-type':"application/x-www-form-urlencoded"}
        }).success(function (data) {
            console.log(data);
            if(!data.success){
                //当前登录失败
                if(!data.errors){
                    //用户名密码错误
                    $scope.message =data.message;
                }else{
                    //用户名，密码不能为空
                    $scope.errorUsername = data.errors.username;
                    $scope.errorPassword =data.errors.password;
                }
            }else{
                window.location.href ='#/list/0';
            }
        })

    }
});
//列表页面的模块
var pageList =angular.module('pageList',[]);
pageList.controller('ListTypeCtrl',function ($scope,$http) {
    $http({
        method:"GET",
        //reid=0一级分类
        url:'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        //console.log(data);
        $scope.lists =data;
    }).error(function (err) {
        console.log(err);
    })
});
//文章列表的控制器
totals =0;
pageList.controller('arcListCtrl',function ($scope,$http,$location) {
    //console.log($location);
    $scope.typeid =$location.path().replace('/list/','');
    //获取typeid就是ID
    //console.log($scope.typeid);
    if($scope.typeid==0){
        //获取所有的文章的数量
      var get_total_url = 'get.php?action=get_total'
    }else{
        //获取某一个分类文章的数量
        get_total_url = 'get.php?action=get_total&where=typeid=' + $scope.typeid;
    }
    //获取所有的对应的文章的数量
    $http({
        method:"GET",
        url:get_total_url
    }).success(function (data) {
        console.log(data);
        //当前文章的数量
        $scope.paginationConf.totalItems = data.total;
    }).error(function (err) {
        console.log(err);
    });
    //设置分页的对象
    $scope.paginationConf={
        //当前的页数
        currentPage:1,
        //每页五条数据
        itemsPerPage:5,
        pagesLength:5,
        //totalItems文章总数量
        //这里一定要注意空格
        //可以自动更换的每页多少条
        perPageOptions:[ 10, 20, 30, 40, 50],
        rememberPerPage:'perPageItems',
        onChange:function () {
            //先判断一下当前页数是否是首页，获取查询的起始位置
            if($scope.paginationConf.currentPage == 1){
                //当前是第一页
                $scope.limit = 0;
            }else{
                // //比如这里从第二页开始，那么每页显示五条数据，那么第二页就应该从第五条数据后显示五条才行.
                $scope.limit = $scope.paginationConf.currentPage * $scope.paginationConf.itemsPerPage
                    - $scope.paginationConf.itemsPerPage;
            }
             //根据typeid和当前的页数 currentpage 整理好请求的url
            if($scope.typeid == 0){
                $geturl = 'get.php?action=get_list&offset=' +
                    $scope.limit + '&rows=' + $scope.paginationConf.itemsPerPage +
                    '&orderField=id&orderBy=DESC';
            }else{
                $geturl='get.php?action=get_list&offset='+$scope.limit+
                    '&rows='+$scope.paginationConf.itemsPerPage+'&where=typeid='+
                    $scope.typeid+'&orderField=id&orderBy=DESC';
            }
            //最后发送请求
            //offset当前查询的偏移量
            //rows当前查询多少条
            //typied 查询那个分类
            //orderField 根据那个字段进行排序
            //orderby 排序规则
            $http({
                method:'GET',
                url:$geturl
            }).success(function (data) {
                $scope.lists =data;
            }).error(function (err) {
                console.log(err);
            })
        }
    };
    //删除模块
    $scope.del = function (index,id) {
        $http({
            metdod:'GET',
            url:'get.php?action=delete_article&index='+ index + '&id=' + id,
        }).success(function (data) {
            if (data.code==101) {
                //删除成功
                //console.log('删除成功');
                $scope.meg_success="删除成功!";
                $scope.meg_error="";
//                setTimeout(function(){location.href='#/list/0'}, 1000);
                //重新发送ajax请求 页面
                $http({
                    method: 'GET',
                    url: $geturl,
                }).success(function (data) {
                    $scope.lists = data;
                }).error(function (err) {
                });
                $http({
                    method: 'GET',
                    url: get_total_url
                }).success(function (data) {
                    $scope.paginationConf.totalItems = data.total;
                }).error(function (err) {
                    console.log(err);
                })

            } else {
                //添加失败
                //console.log('删除失败');
                $scope.meg_error="删除失败";
            }
        })
    }





});
var addCont = angular.module('addCont',[]);
addCont.controller('addContCtrl',function ($scope,$http) {
    //select里面需要用到的分类
    $http({
        method:'POST',
        url:'get.php?action=get_arctype&where=reid=0'
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    });
    //执行写入的操作
    $scope.formData ={};
    $scope.formData.action = 'add_article';
    $scope.postForm = function () {
        $http({
            method:'POST',
            url:'get.php',
            data:$.param($scope.formData),
            headers:{"Content-Type":"application/x-www-form-urlencoded"}
        }).success(function (data) {
            $scope.errorBye = function () {
                $('#errorbox').fadeOut();
            };
            $scope.errorShow = function () {
                $('#errorbox').fadeIn();
            };
            if(!data.errors){
                //成功
                $scope.meg_success ='插入成功，正在返回列表页面';
                $scope.meg_error= '';
                setTimeout(function () {
                    location.href ="#/list/0";
                },1000)
            }else{
                //失败
                $scope.meg_success ='';
                var get_error= '';
                if(data.errors.hasOwnProperty('title')){
                    get_error =get_error +(get_error?'&':'')+
                        data.errors.title;
                }
                if(data.errors.hasOwnProperty('content')){
                    get_error =get_error +(get_error?'&':'')+
                            data.errors.content;
                }
                if(data.errors.hasOwnProperty('typeid')){
                    get_error =get_error +(get_error?'&':'')+
                        data.errors.typeid;
                }
                $scope.meg_error=get_error;
            }
        })
    }
});
var modifyCont = angular.module('modifyCont',[]);
modifyCont.controller('modifyContCtrl',function ($scope,$http,$stateParams) {
   //获取所有的分类
    $http({
       method:'GET',
       url:'get.php?action=get_arctype&where=reid=0'
   }).success(function (data) {
        $scope.types = data;
    }).error(function (err) {
        console.log(err);
    });
    //2.读取一条信息
    //console.log($stateParams);
    //当前路由中的ID
    $http({
        method:'GET',
        url:'get.php?action=get_article&id=' + $stateParams.Id
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    });
    //3.postForm操作
    $scope.formData={};
    $scope.postForm = function () {
        $scope.formData.action = 'update_article';
        $scope.formData.id = $stateParams.Id;
        $scope.formData.title = form.title.value;
        $scope.formData.content = form.content.value;
        $scope.formData.typeid =$("#typeid option:selected").val();
        $http({
            method:'POST',
            url:'get.php',
            data:$.param($scope.formData),
            headers:{'Content-type':'application/x-www-form-urlencoded'}
        }).success(function (data) {
            if(data.code == 101){
                //添加成功
                $scope.meg_success ='修改成功, 正在返回列表页';
                $scope.meg_error='';
                setTimeout(function () {
                    location.href ='#/list/0'
                },1000)
            }else{
                //添加失败
                var get_errors ='';
                $scope.meg_success='';
                //信息提示框状态
                $scope.errorBye=function(){
                    $('#errorbox').fadeOut();
                };
                $scope.errorShow=function(){
                    $('#errorbox').fadeIn();
                    $scope.meg_error='';
                };
                if(data.errors){
                    console.log("有错误信息");
                    if(data.errors.hasOwnProperty('title')){
                        get_errors=data.errors.title;
                    }
                    if(data.errors.hasOwnProperty('content')){
                        get_errors=get_errors+(get_errors?"&":"")+data.errors.content;
                    }
                    $scope.meg_error=get_errors;
                }else{
                    console.log("无错误信息");
                    $scope.meg_error="修改失败，无改动！";
                }

            }

        }).error(function (err) {
            console.log(err);
        })
    }
});
//详情模块
var showCont = angular.module('showCont',[]);
showCont.controller('showContCtrl',function ($scope,$http,$stateParams) {
    $http({
        method:'GET',
        url:'get.php?action=get_article&id=' + $stateParams.Id
    }).success(function (data) {
        $scope.lists = data;
    }).error(function (err) {
        console.log(err);
    })
});